package main

import "fmt"

func main() {

	//1.创建map
	var map1 map[int]string            //空的map无法存储数据  只有声明，没有初始化   nil  无法直接使用
	var map2 = make(map[string]string) //创建了，进行初始化
	var map3 = map[string]string{"你好": "我也好", "大家好": "才是真的好"}
	fmt.Println(map1, map2, map3)

	fmt.Println(map1 == nil) //没有初始化，只创建了进行比较

	if map1 == nil {
		map1 = make(map[int]string)

	}
	map1[2] = "你好啦啦啦"
	fmt.Println(map1 == nil, map1)

	//2.存储键值对

	map3["啦啦啦"] = "不啦啦啦"
	map3["你好"] = "好个屁"

	fmt.Println(map3, map3["没有"])
	map3["没有"] = "321"
	value, ok := map3["没有"]
	if ok {
		println("存在是：" + value)
	} else {
		println("不存在")
	}

	//3.删除数据  key存在就删 不存在不影响
	delete(map3, "没有")
	fmt.Println(map3, len(map3))

	//4.遍历 for range
	for k, v := range map3 {
		println(k, v)
	}
}
